package com.ljt.aicodehelp.ai;

import dev.langchain4j.data.message.SystemMessage;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.model.chat.ChatModel;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;

@Service
@Slf4j
@Deprecated(since = "已经用了AiService了，现在不会裸着用chatModel了")
public class AiCodeHelper {
    @Resource
    ChatModel qwenChatModel;

    private static final String SYSTEM_MESSAGE = """
            你是编程领域的小助手,帮助用户解答编程学习和求职面试相关的网题,并给出建议,重点关注4个方向:
            1.规划清晰的编程学习路线
            2.提供项目学习建议
            3.给出程序员求职全流程指南(比如简历优化,投递技巧)
            4.分享高频面试题和面试技巧
            请用简洁易懂的语言回答,助力用户高效学习与求职。
            """;

    // 简单对话
    public String chat(String message){
        var systemMessage = SystemMessage.from(SYSTEM_MESSAGE);
        var userMessage = UserMessage.from(message);
        var chatResponse = qwenChatModel.chat(systemMessage,userMessage);
        var aiMessage = chatResponse.aiMessage();
        log.info("AI输出",aiMessage);
        return aiMessage.text();
    }

    // 多模态的对话（可以文字+图片）
    public String chat(UserMessage userMessage){
        var systemMessage = SystemMessage.from(SYSTEM_MESSAGE);
        var chatResponse = qwenChatModel.chat(systemMessage,userMessage);
        var aiMessage = chatResponse.aiMessage();
        log.info("AI输出",aiMessage);
        return aiMessage.text();
    }

}
